<?php

/**
 * Summary
 * 
 * Interfaz para el manejo de Cache, usada para la implementación de adaptadores.
 * 
 */
namespace Submemory\Cache;

/**
 * CacheInterface
 * 
 * Interfaz de la clase Cache y Adaptadores. 
 */
interface CacheInterface {
    
    /**
     * Establece un par clave-valor y adicionalmente su tiempo de expiración.
     * @param string $key Clave
     * @param string $value Valor
     * @param int $expirationtime Tiempo de expiración
     */
    public function set($key, $value, $expirationtime = 0);

    /**
     * Obtener valor de una clave.
     * @param string $key
     */
    public function get($key);
   
    /**
     * Borrar una clave
     * @param string $key
     */
    public function delete($key); //del
    
    /**
     * Cerrar la conexión al cache
     */
    public function close();
    
    /**
     * Colector de basura.
     * @param string $maxlifetime Tiempo máximo de vida.
     */
    public function gc($maxlifetime);
}

?>
